// pages/details/details.js
let {
  getDetailsData
} = require("../../api/home")

Page({
  /**
   * 页面的初始数据
   */
  data: {

    imgs: [
      "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/877afeaefe26f7dab0fa73a1eb324c5e.jpg",
      "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/877afeaefe26f7dab0fa73a1eb324c5e.jpg",
    ],
    swiperHeight: 200, //轮播图高度
    current: 1, //轮播图位置
    tabs: 1, //tabs下标
    goods: {
      id: 6,
      imgs: [
        "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/877afeaefe26f7dab0fa73a1eb324c5e.jpg",
        "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/877afeaefe26f7dab0fa73a1eb324c5e.jpg",
      ],
      goodsImage: "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/877afeaefe26f7dab0fa73a1eb324c5e.jpg",
      goodsName: "小米耳机",
      goodsPrice: "2000",
      goodsPriceOld: "4000",
      goodsDetails: "/images/IMG_0466.JPG",
      goodsContent: '<div class="dt">「至高优惠230元；10点、20点整点购机前150名赢小米定制T恤；享6期免息；信用卡分期至高优惠200元」</div><div class="dd">1.【天玑8100】狠强狠稳的性能新王</div><div class="dd">2.【天玑8100】狠强狠稳的性能新王</div><div class="dd">3.【天玑8100】狠强狠稳的性能新王</div>'
    },
    num: 0, //商品数量
    goodsType: 0, //商品类型
    product_info: null, //商品信息
    goodsDetails: null, //商品详情
    collectshow: false, // 判断是否收藏
  },

  // 获取图片信息
  bindloadFun(event) {
    // console.log(event);
    let {
      height,
      width
    } = event.detail;
    // 获取硬件系统信息
    wx.getSystemInfo({
      success: (result) => {
        // console.log(result);
        this.setData({
          swiperHeight: result.windowWidth / width * height
        })
      },
    })
  },

  // 轮播图切换
  bindchangeFun(event) {
    console.log(event);
    this.setData({
      current: event.detail.current += 1
    })
  },

  // 加入购物车功能
  setCarNum() {
    // 购物车数据结构
    let carLists = {
      id: this.data.goods.product_id,
      goodsImage: this.data.goods.img_url,
      goodsName: this.data.goods.name,
      goodsPrice: this.data.goods.price,
      checked: false,
      num: 1,
    }

    // 数据添加缓存中
    // 1.判断数据缓存中是否存在
    let goodsCarList = wx.getStorageSync('goodsCarList');
    if (goodsCarList) {
      // 2.有数据
      let index = goodsCarList.findIndex(item => item.id == this.data.goods.id);
      if (index != -1) {
        // 2.1有相同数据,数量加一
        goodsCarList[index].num += 1;
      } else {
        // 2.2没有相同数据
        goodsCarList.push(carLists);
      }
      // 4.更新数据
      wx.setStorageSync('goodsCarList', goodsCarList)
    } else {
      // 3.没有数据,直接添加数据
      wx.setStorageSync('goodsCarList', [carLists])

    }

    // 更新商品数量
    this.setData({
      num: wx.getStorageSync('goodsCarList').length
    })

  },



  // tab切换
  isTabShow(event) {
    let index = event.target.dataset.index;
    this.setData({
      tabs: index
    })
  },

  // 收藏
  getCollect() {
    let carLists = {
      id: this.data.goods.product_id,
      goodsImage: this.data.goods.img_url,
      goodsName: this.data.goods.name,
      goodsPrice: this.data.goods.price,
      checked: false,
      num: 1,
    }
    let collectlist = wx.getStorageSync('collectList');

    // 收藏高亮
    let show = false

    if (collectlist.length > 0) {
      // 循环收藏列表。
      collectlist.forEach((item, index) => {
        // 判断是否有存在该商品
        if (item.id == carLists.id) {
          // 如果有就删掉
          collectlist.splice(index, 1);
          show = false;
          wx.showToast({
            title: '取消收藏',
            icon:"none",
            duration:2000
          })
        } else {
          // 如果没有就添加进去。
          collectlist.push(carLists);
          show = true;
          wx.showToast({
            title: '收藏成功',
            icon:"success",
            duration:2000
          })
        }
      });
      wx.setStorageSync('collectList', collectlist);
    } else {
      // 如果没有数据的话就新增数据
      wx.setStorageSync('collectList', [carLists]);
      show = true;
    }

    this.setData({
      collectshow: show
    })

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let _this = this;
    console.log(options)
    getDetailsData({
      commodity_id: options.id
    }).then((data) => {
      // console.log(data);
      // console.log(data.data.goods_tpl_datas[page_id]);
      let page_id = data.data.goods_info[0].page_id
      let goods_tpl_datas = data.data.goods_tpl_datas[page_id].sections;

      let product_info_tab_index = goods_tpl_datas.findIndex(item => item.view_type == "product_info_tab"); //获取下标


      // console.log(data.data.goods_info[_this.data.goodsType])
      _this.setData({
        imgs: data.data.goods_share_datas.gallery_view.slice(0, 4),
        goods: data.data.goods_info[_this.data.goodsType],
        product_info: data.data.product_info,
        goodsDetails: goods_tpl_datas[product_info_tab_index].body.items
      })
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    setTimeout(() => {

      // 获取收藏列表
      let collectList = wx.getStorageSync('collectList')
      let show = false
      console.log(this.data.goods.product_id);
      collectList.forEach(item => {
        if (item.id == this.data.goods.product_id) {
          show = true;
        } else {
          show = false;
        }
      });
      // 判断是否在收藏
      this.setData({
        collectshow: show,
      })
    }, 5000);

    // 更新商品数量
    this.setData({
      num: wx.getStorageSync('goodsCarList').length,
    })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})


// 数据缓存
// 加密
// wx.setStorage
// wx.removeStorage
// wx.getStorage
// wx.clearStorage
// wx.getStorageInfo

// 普通缓存
// wx.setStorageSync  //添加 修改
// wx.setStorageSync('text', "存入数据")
// wx.setStorageSync('text', "存入数据66666")
// wx.removeStorageSync  //删除
// wx.removeStorageSync('text')
// wx.getStorageSync //获取数据
// console.log(wx.getStorageSync("text"))
// wx.clearStorageSync //清除所有
// wx.clearStorageSync();
// wx.getStorageInfoSync
// console.log(wx.getStorageInfoSync());